Method and apparatus for graceful degradation of image playback frames rates

ABSTRACT

In a method and apparatus for decompressing a digital video signal representative of an input sequence of digital video frames, a digital video signal is provided to a video decompressor having a target frame decompression rate which is initially set at the maximum possible frame rate. The output of the video decompressor is monitored to determine whether the video decompressor is timely generating the output sequence of digital video frames. If the video decompressor is not timely generating the output sequence of digital video frames, then the video decompressor output is adjusted by omitting from the output sequence at least one frame from the input sequence. A frames missed value is generated in response to each group of one or more omitted frames, and deviations in the frames missed value are monitored. The target decompression rate of the video decompressor is selectively adjusted downward in response to deviations in the frames missed value.

FIELD OF THE INVENTION

This invention relates to video signal processing generally andparticularly to systems for providing a decompressed digital videosignal representative of a full color motion video signal.

BACKGROUND OF THE INVENTION

To enable high quality playback of digital video sequences onhigh-performance computers, digital video sequences are often recordedand compressed at the maximum frame rate possible (e.g., 30 frames persecond). Desktop personal computers often lack sufficient processingpower to maintain such maximum frame rates during playback of digitalmotion video sequences. The platforms and processors in these computerssimply function too slowly to decode and display motion video sequencesat rates approaching 30 frames per second. The performance of theselower-end systems is further hindered by the fact that, during playbackof a motion video sequence, an accompanying digital audio sequence mustoften also be decoded.

In order to maintain acceptable audio quality during playback, everyaudio frame in the compressed sequence must be decompressed and outputto a sound system. By contrast, it is possible to omit some video framesduring playback and still maintain acceptable video quality. However, ifduring playback video frames are omitted at irregular intervals, theresulting motion video images often suffer from unpleasing skips whichmake the video images appear jerky.

It is an object of the present invention to dynamically sense duringplayback whether a decompression system is irregularly omitting frames.If frames are being omitted in an irregular fashion, then it is afurther object of the present invention to gradually lower the videoframe rate output by the decompression system such that the resultingvideo which is displayed is as visually pleasing as possible.

It is a further object of the present invention to provide a system fordecompressing digital video sequences which can be used on differentdecompression platforms having differing levels of processing power. Itis a still further object of the present invention to provide a systemfor decompressing digital video sequences which can be selectivelyconfigured in response to the processing power of the decompressionplatform being used.

Further objects and advantages of the invention will become apparentfrom the description of the invention which follows.

SUMMARY OF THE INVENTION

The present invention is directed to a method and apparatus fordecompressing a digital video signal representative of an input sequenceof digital video frames. The digital video signal is provided to a videodecompressor having a target frame decompression rate which is initiallyset at the maximum possible frame rate. The output of the videodecompressor is monitored to determine whether the video decompressoroutput is timely generating the output sequence of digital video frames.If the video decompressor is not timely generating the output sequenceof digital video frames, then the video decompressor output is adjustedby omitting from the output sequence at least one frame from the inputsequence. A frames missed value is generated in response to each groupof one or more omitted frames, and deviations in the frames missed valueare monitored. The target decompression rate of the video decompressoris selectively adjusted downward in response to deviations in the framesmissed value.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram showing the operation of a video decompressionsystem according to a preferred embodiment of the present invention.

FIG. 2 is a block diagram showing the operation of a video decompressionsystem according to an alternative preferred embodiment f the presentinvention.

FIG. 3 is a block diagram showing the operation of a video decompressionsystem according to a further alternative preferred embodiment of thepresent invention.

FIG. 4 is a flow diagram showing the operation of a system for adjustingan output decompressed video signal when the output of a videodecompressor lags in time behind the output of an associated audiodecompressor according to a preferred embodiment of the presentinvention.

FIG. 5 is a flow diagram showing the operation of a controller accordingto a preferred embodiment of the present invention.

FIG. 6 is a flow diagram showing the operation of a system forselectively initializing a decompression threshold in response to theprocessing power of decompressing hardware being used for videodecompression according to a preferred embodiment of the presentinvention.

FIG. 7A is a table showing a strategy for gradually reducing the targetdecompression rate of a compressed digital video sequence comprisedentirely of key frames according to a preferred embodiment of thepresent invention.

FIG. 7B is a table showing a strategy for gradually reducing the targetdecompression rate of a compressed digital video sequence where everyother frame has been encoded as a key frame according to a preferredembodiment of the present invention.

FIG. 7C is a table showing a strategy for gradually reducing the targetdecompression rate of a compressed digital video sequence where everythird frame has been encoded as a key frame according to a preferredembodiment of the present invention.

FIG. 7D is a table showing a strategy for gradually reducing the targetdecompression rate of a compressed digital video sequence where everyfourth frame has been encoded as a key frame according to a preferredembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to FIG. 1, there is shown an overall block diagram of adecompression system 100 according to a preferred embodiment of thepresent invention. Decompression system 100 includes a controller 110,an audio decompressor 120, a video decompressor 130 and a frame buffer140. A compressed bitstream (which includes both compressed audio andassociated compressed video information) is provided to controller 110,and controller 110 provides a compressed digital audio signal to audiodecompressor 120 and an associated compressed digital video signal tovideo decompressor 130. In response to the compressed digital videosignal provided by controller 110, video decompressor 130 providescontroller 110 with a decompressed digital video signal. Controller 110provides a further decompressed digital video signal to frame buffer 140which is coupled to a video display unit (not shown).

Referring now to FIG. 4, there is shown a flow diagram of a system 400for adjusting an output decompressed video signal when the videodecompressor is not timely generating an output sequence of decompresseddigital video frames. In the preferred embodiment, system 400 adjusts anoutput decompressed video signal when the output of video decompressor130 lags in time behind the output of audio decompressor 120. System 400includes a first testing means 410 for determining whether thedecompressed digital video signal output by video decompressor 130 islagging in time behind the output of audio decompressor 120. If firsttesting means 410 determines that the output of video decompressor 130is lagging the output of audio decompressor 120 (i.e., if videodecompressor 130 is decompressing digital video frames more slowly thanaudio decompressor 120 is decompressing digital audio frames such thatthe video frames being output by video decompressor 130 are no longer insync with associated audio frames being output by audio decompressor120), then controller 110 sends a first hurry signal to videodecompressor 130. Upon receiving this first hurry signal, videodecompressor 130 refrains from sending to video controller 110 the nextdecompressed video frame in the display sequence, video controller 110then refrains from sending the next decompressed frame in the displaysequence to frame buffer 140, and the frame currently residing in framebuffer 140 is redisplayed.

After the first hurry signal is sent, second testing means 420determines whether the decompressed digital video signal output by videodecompressor 130 is still lagging in time behind the output of audiodecompressor 120. If second testing means 420 determines that the outputof video decompressor 130 is still lagging the output of audiodecompressor 120, then controller 110 sends a second hurry signal tovideo decompressor 130. Upon receiving this second hurry signal, videodecompressor 130 refrains from sending to video controller 110 a furtherdecompressed video frame in the display sequence, video controller 110then refrains from sending a further decompressed frame in the displaysequence to frame buffer 140, and the frame currently residing in framebuffer 140 is redisplayed.

Following transmission of the second hurry signal, third testing means430 determines whether the output of video decompressor 130 is stilllagging in time behind the output of audio decompressor 120. If theoutput of video decompessor 130 is still lagging in time behind theoutput of audio decompressor 120, then skip logic unit 135 generates afirst skip signal. In system 100, skip logic unit 135 is integral withvideo decompressor 130. In response to this first skip signal, videodecompressor 130 skips to the next key frame in the compressedbitstream, and all frames in the compressed bitstream between thecurrent frame and the next key frame are passed over and notdecompressed. Thus, in contrast to a hurry signal which simply causes adecompressed frame not be forwarded to controller 110, a skip signalcauses one or more compressed frames to be skipped (and notdecompressed) by video decompressor 130. Fourth testing means 440 causesskip logic unit 135 to continue generating further skip signals untilsuch time as the output of video decompressor 130 ceases to lag in timebehind the output of audio decompressor 120. Although in the preferredembodiment of system 400, two hurry signals are generated before anyskip signals are generated, in an alternate embodiment (not shown) Nconsecutive hurry signals may be sent to video decompressor 130 beforeany skip signals are generated, where N is any integer that is greaterthan or equal to zero.

Although in the preferred embodiment, system 400 determines whethervideo decompressor 130 is timely generating an output sequence ofdecompressed video frames by monitoring the output of video decompressor130 and comparing that video decompressor output to the output of audiodecompressor 120, it will be understood by those skilled in the art thatthe present invention may determine whether video decompressor 130 istimely generating an output sequence of decompressed video frames bymonitoring the output of video decompressor 130 and comparing that videodecompressor output to timing signals generated by a system clock.

Referring now to FIG. 2, there is shown an overall block diagramillustrating the operation of a decompression system 200 according to afurther alternative preferred embodiment of the present invention.Decompression system 200 functions substantially the same asdecompression system 100, with the exception that in decompressionsystem 200 the skip signals are generated by controller 110 and providedto video decompressor 230.

Referring now to FIG. 3, there is shown an overall block diagramillustrating the operation of a decompression system 300 according to astill further alternative preferred embodiment of the present invention.Decompression system 300 functions substantially the same asdecompression system 100, with the exception that in decompressionsystem 300, no skip signals are generated by the video decompressor 330.In decompression system 300, skip logic unit 315 is integral withcontroller 310 and generates skip signals internally within controller310. In response to each internal skip signal generated by skip logicunit 315, controller 310 omits one or more compressed frames from thecompressed video signal being provided to video decompressor 330. Eachvideo frame represented in the compressed bitstream provided tocontroller 310 preferably includes a header identifying the numericalposition of the frame (e.g., first frame, second frame, etc.) within thedigital video sequence. Frame sequence monitor 335 is provided formonitoring the numerical position information associated with eachcompressed frame that is provided to video decompressor 330 bycontroller 310. By monitoring the numerical position informationassociated with each such compressed frame, frame sequence monitor 335is able to detect whether compressed frames have been omitted from thecompressed digital video sequence provided by controller 310.

Referring now to FIG. 5, there is shown a flow diagram illustrating theoperation of controller 110 according to a preferred embodiment of thepresent invention. Initialization means 510 is provided for initializinga variance value to zero. As explained more fully below, the variancevalue is used to monitor deviations in the number of frames that areomitted from the display sequence of decompressed digital video framesduring the video decompression process. Target decompression rateinitialization means 520 are provided for initially setting thedecompression rate of video decompressor 130 to the maximum frame rateof the compressed bitstream. In a preferred embodiment, the compressedbitstream provided to controller 110 will have been compressed at amaximum frame rate of 30 frames per second (FPS) and in such casesinitialization means 520 will initially set the target decompressionrate of video decompressor 130 to 30 FPS. As shown in FIG. 1, controller110 preferably controls the target decompression rate of videodecompressor 130 via a target decompression rate signal. In thepreferred embodiment, initialization means 520 also initializes thevalue of the threshold (to be used by comparator 560), andinitialization means 520 derives a value representing the periodicity ofkey frames in the digital video sequence being decompressed. The systemused by initialization means 520 to determine the value of the thresholdto be used by comparator 560 is described below in conjunction with FIG.6.

Referring still to FIG. 5, monitoring means 530 are providing forwaiting until a previously undisplayed decompressed frame is provided byvideo decompressor 130 to controller 110. Each time video decompressor130 sends a new decompressed frame to controller 110, means 540determines a frames missed value. This frames missed value representsthe number of compressed video frames that were present in thecompressed bitstream provided to controller 110 but which were omittedfrom the display sequence of decompressed video frames provided tocontroller 110 between the current decompressed frame just received bycontroller 110 and the decompressed frame previously received bycontroller 110. The number of frames that were omitted from the displaysequence between the current and previously received frames will includethe number of frames that were either not displayed or decompressed as aresult of hurry or skip signals generated between the time the currentdecompressed video frame is received by controller 110 and the time theprevious decompressed video frame was received by controller 110. Thenumber of frames that were omitted from the display sequence between thecurrent and previously received frames will also include the number offrames that were not decompressed as a result any reductions in thetarget frame decompression rate triggered by activation of means 570.(The operation of means 570 is explained more fully below). Means 550generates and stores a new frames missed value each time a newdecompressed video frame is provided to controller 110. Variancedetermining means 550 is also provided for calculating the statisticalvariance of a plurality of previous frames missed values each time a newdecompressed video frame is provided to controller 110. In the preferredembodiment, variance determining means 550 calculates the statisticalvariance of all previous frames missed values. In alternate embodiments,variance determining means 550 calculates the statistical variance of50-100 previous frames missed values. In still further embodiments,determining means 550 may calculate the statistical variance of lessthan 50 or more than 100 previous frames missed values. In any case, ahigh variance value indicates that video compressor 130 is irregularlyomitting decompressed video frames from the sequence of frames it isproviding to controller 110.

Referring still to FIG. 5, comparator 560 is provided for comparing thevariance value determined by means 550 to a predetermined threshold. Inthe preferred embodiment, where the compressed bitstream provided tocontroller 110 has been compressed at a maximum frame rate of 30 FPS,the predetermined threshold used by comparator 560 is determined inaccordance with system 600 described below. If comparator 560 determinesthat the threshold has been exceeded, then target frame rate reductionmeans 570 adjusts downward the target frame decompression rate of videodecompressor 130. In the preferred embodiment, each time comparator 560determines that its threshold has been exceeded, the target framedecompression rate of video decompressor 130 is successively reduced toa slower and slower decompression rate in accordance with the targetdecompression rates shown in FIGS. 7A, 7B, 7C and 7D.

Referring now to FIG. 6, there is shown a flow diagram of a system 600for selectively initializing a decompression threshold in response tothe processing capabilities of the decompressing hardware being used todecompress the compressed bitstream. System 600 includes means 610 forsensing and identifying the processor being used to decompress thecompressed bitstream. Threshold selector 620 is provided for selecting adecompression threshold (THRESH) from a plurality of candidatedecompression threshold values in accordance with the processing powerof the hardware used to implement the video decompressor. Moreparticularly, in the preferred embodiment, if means 610 determines thatthe processor or platform being used for video decompression hasprocessing power equivalent to that of an Intel 386 processor, thenthreshold selector 620 sets the decompression threshold to 5.Alternatively, if means 610 determines that the processor being used forvideo decompression has processing power equivalent to that of an Intel486 processor, then threshold selector 620 sets the decompressionthreshold to 3.

Referring now to FIG. 7A, there is shown a table illustrating a strategyemployed by means 570 for successively reducing the target decompressionrate of a compressed digital video sequence encoded at a maximum framerate of 30 FPS and comprised entirely of key frames according to apreferred embodiment of the present invention. For purposes of thepresent invention, a key frame in the compressed bitstream represents avideo frame that has been encoded without reference to any other framesin the sequence. By contrast, a difference (or delta) frame in thecompressed sequence represents a video frame that has been encoded basedon differences between the difference frame and another video frame inthe sequence. Among other things, as shown in FIGS. 7A, 7B, 7C, 7Dbelow, it is an object of the present invention to maintain as constantthe number of compressed video frames that are either not displayed ornot decompressed between each decompressed frame that is output to framebuffer 140.

As shown in FIG. 7A which is directed to compressed video sequencescomprises entirely of key frames, the target decompression rate of videodecompressor 130 is initially set to 30 FPS. However, when comparator560 first determines that its threshold has been exceeded, then targetframe rate reduction means 570 adjusts the target frame decompressionrate of video decompressor 130 downward to 15 FPS. Video decompressor130 implements the reduced frame rate of 15 FPS by not decompressingevery other frame in the compressed video sequence. If, after the targetdecompression rate has been reduced to 15 FPS, comparator 560 againdetermines that its threshold has been exceeded, then target frame ratereduction means 570 adjusts the target frame decompression rate of videodecompressor 130 downward to 10 FPS. Video decompressor 130 implementsthe reduced frame rate of 10 FPS by only decompressing every third framein the compressed video sequence. Similarly, if after the targetdecompression rate has been reduced to 10 FPS, comparator 560 againdetermines that its threshold has been exceeded, then target frame ratereduction means 570 adjusts the target frame decompression rate of videodecompressor 130 downward to 7.5 FPS. Video decompressor 130 implementsthe reduced frame rate of 7.5 FPS by only decompressing every fourthframe in the compressed video sequence. Again, if after the targetdecompression rate has been reduced to 7.5 FPS, comparator 560 againdetermines that its threshold has been exceeded, then target frame ratereduction means 570 adjusts the target frame decompression rate of videodecompressor 130 downward to 6 FPS. Video decompressor 130 implementsthe reduced frame rate of 6 FPS by only decompressing every fifth framein the compressed video sequence. Finally, if after the targetdecompression rate has been reduced to 6FPS, comparator 560 againdetermines that its threshold has been exceeded, then target frame ratereduction means 570 adjusts the target frame decompression rate of videodecompressor 130 downward to 5 FPS. Video decompressor 130 implementsthe reduced frame rate of 5 FPS by only decompressing every sixth framein the compressed video sequence.

Referring now to FIG. 7B, there is shown a table illustrating a strategyemployed by means 570 for successively reducing the target decompressionrate of a compressed digital video sequence encoded at a maximum framerate of 30 FPS where every other frame has been encoded as a key frameaccording to a preferred embodiment of the present invention. In theembodiment shown, the target decompression rate of video decompressor130 is initially set to 30 FPS. However, when comparator 560 firstdetermines that its threshold has been exceeded, then target frame ratereduction means 570 adjusts the target frame decompression rate of videodecompressor 130 downward to 15 FPS. Video decompressor 130 implementsthe reduced frame rate of 15 FPS by not decompressing any of thedifference frames in the compressed video sequence. It was found thatonly minimal processing time could be saved if these difference frameswere decompressed, but not displayed. It is for this reason that, in thepreferred embodiment shown in FIG. 7A, the first backoff strategy omitsfrom the decompression process both decompression and display of alldifference frames. If, after the target decompression rate has beenreduced to 15 FPS, comparator 560 again determines that its thresholdhas been exceeded, then target frame rate reduction means 570 adjuststhe target frame decompression rate of video decompressor 130 downwardto 7.5 FPS. Video decompressor 130 implements the reduced frame rate of7.5 FPS by only decompressing every other key frame in the compressedvideo sequence. Finally, if after the target decompression rate has beenreduced to 7.5 FPS, comparator 560 again determines that its thresholdhas been exceeded, then target frame rate reduction means 570 adjuststhe target frame decompression rate of video decompressor 130 downwardto 5 FPS. Video decompressor 130 implements the reduced frame rate of 5FPS by only decompressing every fourth key frame in the compressed videosequence.

Referring now to FIG. 7C, there is shown a table illustrating a strategyemployed by means 570 for successively reducing the target decompressionrate of a compressed digital video sequence encoded at a maximum framerate of 30 FPS where every third frame has been encoded as a key frameaccording to a preferred embodiment of the present invention. In theembodiment shown, the target decompression rate of video decompressor130 is initially set to 30 FPS. However, when comparator 560 firstdetermines that its threshold has been exceeded, then target frame ratereduction means 570 adjusts the target frame decompression rate of videodecompressor 130 downward to 10 FPS. Video decompressor 130 implementsthe reduced frame rate of 10 FPS by not decompressing any of thedifference frames in the compressed video sequence. It was found thatonly minimal processing time could be saved if only every otherdifference frame (as opposed to all difference frames) were notdecompressed during the decompression process. It was also found thatthe strategy of only decompressing every other difference frame produceda result that appeared jerky and visually displeasing. It is for thisreason that, in the preferred embodiment shown in FIG. 7C, the firstbackoff strategy eliminates all difference frames from the decompressionprocess. If, after the target decompression rate has been reduced to 10FPS, comparator 560 again determines that its threshold has beenexceeded, then target frame rate reduction means 570 adjusts the targetframe decompression rate of video decompressor 130 downward to 6 FPS.Video decompressor 130 implements the reduced frame rate of 6 FPS byonly decompressing every other key frame in the compressed videosequence.

Referring now to FIG. 7D, there is shown a table illustrating a strategyemployed by means 570 for successively reducing the target decompressionrate of a compressed digital video sequence encoded at a maximum framerate of 30 FPS where every fourth frame has been encoded as a key frameaccording to a preferred embodiment of the present invention. In theembodiment shown, the target decompression rate of video decompressor130 is initially set to 30 FPS. However, if comparator 560 determinesthat its threshold has been exceeded, then target frame rate reductionmeans 570 adjusts the target frame decompression rate of videodecompressor 130 downward to 7.5 FPS. Video decompressor 130 implementsthe reduced frame rate of 7.5 FPS by not decompressing any of thedifference frames in the compressed video sequence.

It will be understood by those skilled in the art that the tables shownin FIGS. 7A, 7B, 7C and 7D are illustrative of several preferredstrategies employed by means 570 for reducing target decompression ratesand that means 570 may be adapted to successively reduce the targetdecompression rates of digital video sequences having key frameperiodicities other than those shown.

The present invention may be implemented using an Intel model 386, 486or a higher powered processor, or a general purpose processor. Thepresent invention may be embodied in other specific forms withoutdeparting from the spirit or essential attributes of the invention.Accordingly, reference should be made to the appended claims, ratherthan the foregoing specification, as indicating the scope of theinvention.

What is claimed is:
 1. A method for forming a decompressed digital video signal from a compressed digital video signal representative of an input sequence of digital video frames, comprising the steps of:(A) providing said compressed digital video signal to a video decompressor having a target frame decompression rate; (B) generating, in response to said compressed digital video signal, a video decompressor output signal representative of an output sequence of digital video frames; (C) monitoring said video decompressor output signal to determine whether said video decompressor is timely generating said output sequence of digital video frames; (D) if said video decompressor is not timely generating said output sequence of digital video frames, then adjusting said video decompressor output signal by omitting from said output sequence at least one frame from said input sequence; (F) generating a frames missed value in response to said at least one omitted frame; (G) monitoring deviations in said frames missed value; and (H) selectively adjusting downward said target decompression rate in accordance with said deviations in said frames missed value.
 2. The method of claim 1, wherein step (G) comprises the steps of:i. storing a plurality of frames missed values; and ii. determining a variance value in accordance with the statistical variance of said plurality of frames missed values.
 3. The method of claim 2, wherein step (H) comprises the steps of:i. comparing said variance value to a threshold; and ii. if said variance value exceeds said threshold, then adjusting downward said target decompression rate.
 4. The method of claim 3, wherein said target decompression rate is repeatedly adjusted downward until said variance value does not exceed said threshold.
 5. The method of claim 3, further comprising the step of sensing the processing power of said video decompressor, wherein said threshold is determined in accordance with said sensed processing power.
 6. The method of claim 1, wherein step (D) further comprises the steps of:i. if said video decompressor output signal is not being timely generated, then transmitting a hurry signal to said video decompressor; and ii. if said video decompressor output signal is not being timely generated following said transmission of said hurry signal, then transmitting a skip signal to said video decompressor;wherein said video decompressor refrains from displaying a decompressed frame in response to said hurry signal, and wherein said video decompressor refrains from decompressing a compressed frame in response to said skip signal.
 7. The method of claim 1, wherein said input sequence of digital video frames has a sequence of audio frames associated therewith, wherein step (C) comprises the step of monitoring said video decompressor output signal to determine whether said video decompressor output signal is lagging in time behind an audio decompressor output signal.
 8. The method of claim 7, wherein step (D) comprises the step of:(D) if said video decompressor output signal is lagging in time behind said audio decompressor output signal, then adjusting said video decompressor output signal by omitting from said output sequence at least one frame from said input sequence.
 9. An apparatus for forming a decompressed digital video signal from a compressed digital video signal representative of an input sequence of digital video frames, comprising:(A) means for providing said compressed digital video signal to a video decompressor having a target frame decompression rate; (B) means for generating, in response to said compressed digital video signal, a video decompressor output signal representative of an output sequence of digital video frames; (C) means for monitoring said video decompressor output signal to determine whether said video decompressor is timely generating said output sequence of digital video frames; (D) adjusting means, coupled to said means for monitoring, for adjusting said video decompressor output signal by omitting from said output sequence at least one frame from said input sequence if said video decompressor is not timely generating said output sequence of digital video frames; (F) means for generating a frames missed value in response to said omitted frames; (G) means for monitoring deviations in said frames missed value; and (H) means, coupled to said video decompressor, for selectively adjusting downward said target decompression rate in accordance with said deviations in said frames missed value.
 10. The apparatus of claim 9, wherein said means for monitoring deviations in said frames missed value comprises:i. means for storing a plurality of frames missed values; and ii. means for determining a variance value in accordance with the statistical variance of said plurality of frames missed values.
 11. The apparatus of claim 10, wherein said means for selectively adjusting downward said target decompression rate comprises:i. a comparator for comparing said variance value to a threshold; and ii. means for adjusting downward said target decompression rate if said variance value exceeds said threshold.
 12. The apparatus of claim 11, wherein said target decompression rate is repeatedly adjusted downward by said means for selectively adjusting downward said target decompression rate until said variance value does not exceed said threshold.
 13. The apparatus of claim 10, further comprising means for sensing the processing power of said video decompressor, wherein said threshold is determined in accordance with said sensed processing power.
 14. The apparatus of claim 9, wherein said adjusting means further comprises:i. means for transmitting a hurry signal to said video decompressor if said video decompressor output signal is not being timely generated; and ii. means for transmitting a skip signal to said video decompressor if said video decompressor output signal is not being timely generated following said transmission of said hurry signal;wherein said video decompressor refrains from displaying a decompressed frame in response to said hurry signal, and wherein said video decompressor refrains from decompressing a compressed frame in response to said skip signal.
 15. The apparatus of claim 9, wherein said input sequence of digital video frames has a sequence of audio frames associated therewith, wherein said means for monitoring comprises means for monitoring said video decompressor output signal to determine whether said video decompressor output signal is lagging in time behind an audio decompressor output signal.
 16. The apparatus of claim 15, wherein said adjusting means comprises means for adjusting said video decompressor output signal by omitting from said output sequence at least one frame from said input sequence if said video decompressor output signal is lagging in time behind said audio decompressor output signal. 